/**
 * 四海兄弟工作小组，群号:160517807
 * @author 乔继承
 * @date 2014年1月18日 下午2:25:12 
 * @version V1.0   
 */
package org.mcpro.core.dao.impl;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.sql.DataSource;

import org.apache.log4j.Logger;
import org.mcpro.common.util.ObjectUtil;
import org.mcpro.core.dao.IBaseDAO;

/**
 * 
 * @author 乔继承
 * @date 2014年1月18日 下午2:25:12
 * 
 */
public abstract class BaseDAOImpl implements IBaseDAO {
	private Logger logger = Logger.getLogger(this.getClass());
	private DataSource dataSource;

	public DataSource getDataSource() {
		return dataSource;
	}

	public void setDataSource(DataSource dataSource) {
		this.dataSource = dataSource;
	}
	


	/**
	 * 根据表名判断数据库中是否存在
	 * 
	 * @param tableName
	 * @return 存在返回true，不存在返回false
	 * @author 乔继承
	 * @return
	 * @date 2014年3月3日 下午11:49:57
	 */
	public boolean isTableExist(String tableName) {
		boolean isExist = false;
		if (ObjectUtil.isEmpty(tableName)) {
			return isExist;
		}
		Connection conn = null;
		try {
			conn = dataSource.getConnection();
			DatabaseMetaData meta = conn.getMetaData();
			ResultSet rs = meta.getTables(null, null, tableName, null);
			if (rs.next()) {
				isExist = true;
			}
		} catch (SQLException e) {
			e.printStackTrace();
			logger.error("查询数据库表" + tableName + "是否存在时发生异常", e);
		}
		return isExist;
	}
	

}
